草庐IT

CoreDNS 性能优化

全部标签

c++ - 如何获取当前进程的 Windows 性能计数器

我正在为C++应用程序foo.exe编写代码。在应用程序内部,我想记录其地址空间使用情况。所以我想查看的性能计数器是“\Process(foo)\VirtualBytes”。我遇到的问题是系统上可能运行着多个foo.exe实例。在perfmon中,我可以看到这些被引用为“\Process(foo#2)\VirtualBytes”,其中#2可以是任何数字,具体取决于进程的数量。如何构建一个计数器路径来获取当前进程的虚拟字节,以处理进程有多个实例的情况? 最佳答案 您的实例的IDProcess计数器值与您当前的进程ID匹配。不幸的是,除

c++ - 如何从启用优化( Release模式)构建的二进制文件中分析故障转储?

到目前为止,我一直在项目中使用Debug模式二进制文件。因此,使用保留的符号文件很容易分析故障转储。现在我必须在Release模式下发布二进制文件。我们如何分析由Release模式二进制文件生成的转储文件。这有可能吗?我如何识别Release模式下的功能?(不需要生成和保存map文件) 最佳答案 您需要与可执行文件相对应的.pdb文件。这会给你符号。调试发布版本有几个棘手的部分:由于优化,操作顺序可能会发生变化整个函数/变量/等等。可能会被优化掉特别是,传递给函数的参数可能不存在(例如,“this”可能是一个寄存器,而不是内存中的一

c# - 在代码中从 .rdlc 导出 PDF 时,如何提高 LocalReport.Render 方法的性能?

我想在代码级别呈现大型非图形报告(数千页),从.rdlc文件中省略只会阻塞浏览器的ReportViewer控件。当我测试呈现一个大约2000页的报告时,Microsoft.Reporting.WebForms.LocalReport.Render方法需要大约半小时才能完成,这被认为是糟糕的用户体验。是否有任何技巧或替代解决方案来提高渲染性能:在代码中,重新设计.rdlc文件,或在其他地方,例如,只是增加硬件?示例代码:LocalReportlocalReport=newLocalReport();localReport.ReportPath=Server.MapPath("~/repo

c# - 如何提高非虚拟化 DataGrid 的排序性能?

我相信你们中的大多数人现在会对为什么我们必须关闭wpf数据网格的虚拟化感到惊讶。虽然虚拟化确实有助于减少内存占用,但它增加了CPU开销并且滚动体验并非完美无缺。根据客户的要求,我们不得不禁用数据网格中的虚拟化并进一步优化它,现在它可以非常顺畅地上下滚动,没有任何延迟。缺点是数据被预加载并保存在内存中。这是我们可以接受的解决方案。然而排序现在成了一个大问题。虽然使用CustomSorter:IComparer确实是比通常的SortDecriptors更好的排序替代方案,但它在我们的案例中几乎没有任何区别,因为整行都被重绘了。有什么方法可以提高非虚拟化数据网格的排序速度吗?非常感谢,更新:

c# - 为什么 StackOverflow 平台开发人员使用静态方法来提高性能?

我一直在阅读StackExchange技术(例如,thisarticleaboutSOperformanceonhighavailability.com),并注意到他们提到大量使用静态方法以获得更好的性能。为什么静态方法性能更好?我认为垃圾收集成本的降低与此有关(因为静态方法不需要实例);然而,还有更多吗? 最佳答案 主要原因与调用堆栈有关。虽然实例方法始终将this指针作为第一个参数,但静态方法没有这种开销。它只有几毫秒(或者在快速系统上什至只有几分之一),但在性能关键型系统中它可以加起来。

c# - CosmosDB 查询性能

我写了我的最新更新,然后从StackOverflow收到以下错误:“正文限制为30000个字符;您输入了38676。”公平地说,我在记录我的冒险经历时一直非常冗长,所以我重写了这里的内容,使其更加简洁。我已将我的(长)原始帖子和更新存储在pastebin上.我认为不会有很多人会阅读它们,但我为它们付出了很多努力,所以最好不要让它们丢失。我有一个包含100,000个文档的集合,用于学习如何使用CosmosDB和性能测试等。这些文档中的每一个都有一个Location属性是GeoJSONPoint.根据documentation,GeoJSON点应自动编入索引。AzureCosmosDBsu

c# - 高性能开发

背景我们一直在非常努力地尝试为“高性能”应用程序提出解决方案。该应用程序基本上是一个高吞吐量的内存管理器,可以同步回磁盘。“读取”和“写入”非常高,每秒大约3000个事务。我们尝试在内存中做尽可能多的事情,但最终数据会变得陈旧,需要刷新到磁盘,这就是随之而来的巨大“瓶颈”。该应用程序是多线程的,大约有50个线程。没有IPC(进程间通信)尝试我们最初是用Java编写的,它运行得很好,直到达到一定的负载,遇到了瓶颈,它就跟不上了。然后我们在C#中尝试,同样遇到了瓶颈。我们使用非托管代码(C#)进行了尝试,虽然在初始测试中使用MMF(内存映射文件)速度非常快,但在生产中,读取速度很慢(正在使

c# - C# 语言编译器是否自行执行任何实际优化?

根据随机的Internet评论,我一直认为C#编译器对IL(删除始终为真的if语句、简单的内联等)进行了简单的优化,然后是JIT执行真正的、复杂的优化。举个例子,在thedocumentationforthe/optimizecompilerflag上,它说The/optimizeoptionenablesordisablesoptimizationsperformedbythecompilertomakeyouroutputfilesmaller,faster,andmoreefficient.这意味着语言编译器至少应用了一些优化。然而,玩弄TryRoslyn,这似乎不是真的。看起来

c# - 高性能网络应用的最佳实践

在测试我在Windows7Ultimatex64上编写的UDP多播服务器时,我遇到了一件非常奇怪的事情。在后台使用foobar2000播放音乐显着提高了服务器的传输速率,但也导致了轻微的数据包丢失。关闭音乐会立即将传输速率降低到可接受的水平以下,但也会产生0丢包。(我有一个客户端应用程序,它与服务器通信并报告未确认的数据包)我知道Vista(及更高版本)的节流行为使媒体和网络应用程序可以很好地协同播放,但我当然没想到播放音乐会提高网络性能,也没有想到关闭它会如此显着地降低网络性能。从代码的角度来看,我可以在我的服务器应用程序中对此做些什么,以便无论是否在Vista及更高版本上播放音乐,

c# - C# 中是否有任何存储优化的稀疏矩阵实现?

有没有存储优化SparseMatrix在C#中实现? 最佳答案 有Math.NET.它有一些备用矩阵implementations.(链接指向旧的Math.NET站点。不再有文档的在线版本)。 关于c#-C#中是否有任何存储优化的稀疏矩阵实现?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1812249/